Digitally operating graphic display system

ABSTRACT

In a display system of the CRT type in which a DDA (digital differential analyser) technique is used, an associated computer is used for a substantial part of the operations required for the display system, with a consequent reduction in the display system circuitry per se. Microprogram control is used for processing data from a main memory to obtain X and Y coordinates for display.

United States Patent [1 1 n I 1 ,818,475 Hussey 1 June 18, 1974 [5 1 DIGITALLY OPERATING GRAPHIC 3,696,394 10/:972 Kashio 340/324 A DISPLAY y T 3.725.723 4mm Colston et al 340/324 AD x [75] Inventor: David William l-lussey,

Wateringbury, England [73] Assignee: Elliott Brothers (London) Limited, London, England [22] Filed: Sept. 11, 1972 [2]] Appl. No.: 288,058

[30] Foreign Application Priority Data Sept. 9, I97 Great Britain 42l09/71 [52] U.S. Cl 340/324 A, 315/18, 340/1726 [51] Int. Cl. 606i 3/14 [58] Field of Search 340/324 A [56] References Cited UNITED STATES PATENTS 3,675,208 7/1972 Bard 340/324 A X 3,675,230 7/1972 Pitteway 340/324 A Primary Examiner-David L. Trafton Attorney, Agent, or Firm-Kirschstein, Kirschstein, Ottinger & Frank [57] ABSTRACT In a display system of the CRT type in which a DDA (digital differential analyser) technique is used, an associated computer is used for a substantial part of the operations required for the display system, with a consequent reduction in the display system circuitry per se.

Microprogram control is used for processing data from a main memory to obtain X and Y coordinates for display.

3 Claim, 2 Drawing Figures CORVETTE? PATENTEUJUNIBHH 3,818,475

sum 2 or 2 smr Uear Mzmd m REM c(xo) mm x1 #2 Read C(10) into T4 -4 c(n)=o? Yas Hold Unm Dispm; 6 End System Readg Add c(ox0) to m 7 Add dam) m M a r Decremenr Ti 9 Fig. 2

DIGITALLY OPERATING GRAPHIC DISPLAY SYSTEM The present invention relates to display systems of the CRT (cathode ray tube) type in which a DDA (digital differential analyser) technique is used for defining lines to be displayed. By a display system of the CRT type is meant a display system using for its display device a conventional CRT or any other display device capable of producing a display equivalent to that produced by a conventional CRT, for example, a solid state matrix display device.

With the DDA technique, the lines to be displayed are produced from signals representing the coordinates of points spaced along the lengths of the lines.

in a typical DDA type of display system, two digital registers (X and Y registers) are used, one for the X coordinate and one for the Y co-ordinate, each feeding a respective digital-to-analog converter. The X and Y registers are each constructed as adders, and have increments dx and dy respectively added into them at regular intervals, so that their contents define a succession of points forming the line to be displayed. The increments dx and dy are chosen so that their ratio is the tangent of the slope of the line to be displayed, and the sum of their squares is a fixed small constant; the latter condition ensures that the density of points is the same along all lines displayed.

In known arrangements this has been achieved by using, for the X co-ordinates, three registers of equal length: a register to contain the increment dx, a register constructed as an adder, and a register constructed as a counter. These are interconnected so that the latter two registers together form the X register, the adder being the lower (least significant) end of it, and overflows therefrom being fed into the upper (counter) end. The increment register is connected to the adder register, and the counter register feeds the digital-toanalog converter. With this arrangement, the increment dx is never large enough to affect the counter end of the X register directly. The arrangements for the Y co-ordinates are exactly similar.

This therefore involves six registers, together with a seventh if a line length register is used, filled with a number indicating the line length and decremented by l for each point on the line until is reached.

Systems of this type are often associated with computers, the computer exercising overall control of the system, i.e., supplying the initial contents for the registers.

The inventor has now realized that, in such a system and associated computer, the computer can be used for a substantial part of the operations hitherto performed by circuitry unique to the display system, with consequent saving of such circuitry.

Hence, in accordance with the invention there is provided a display system of the CRT type in which a DDA technique is used for defining lines to be displayed comprising: first and second counter registers; means for displaying on the CRT an image at a position defined by the contents of said counter registers; a digital computer comprising a main memory, a processor including at least two accumulator registers, and a microprogram control unit arranged to read and write information in the memory and process it in the processor in response to instructions read out of the memory; and

means for feeding any overflows from a first and a second said accumulator register to said first and second counter register respectively; said computer memory including predetermined locations in which are stored increments dx and dy defining the distances between adjacent points on a line to be displayed; and the microprogram control unit being arranged, in response to a predetermined instruction from the memory, to enter the dx and dy increments in said first and second accumulator registers at regular intervals such that overflows from said first and second accumulator registers increment the contents of the first and second counter registers respectively and the contents of the counter registers define the X and Y co-ordinates respectively of a succession of points spaced along the length of the line to be displayed.

In an arrangement according to the invention the computer memory normally includes further predetermined locations in which are stored the X and Y coordinates of the starting point of the line to be displayed, and the microprogram control unit is arranged to enter the X and Y co-ordinates of the starting point in said first and second counter registers respectively at the start of a line drawing operation.

An arrangement in accordance with the invention will also normally include a line length register which may form part of the computer or be separate therefrom. In such an arrangement the computer memory preferably includes a further predetermined location in which is stored a number defining the number of points in the line to be displayed, and the microprogram is arranged to enter said number in said line length register at the start of a line drawing operation and decrease the content of the line length register appropriately as the line is drawn, and terminate the line drawing operation when the contents of the line length register is zero.

One display system in accordance with the invention will now be described, by way of example, with reference to the accompanying drawing in which:

HO. 1 is a simplified block diagram of the display system; and

FIG. 2 is a flow diagram illustrating the operation of the system.

Referring to the drawing, the display system utilises a computer including a main memory [0 with associated address selection circuitry ll, the memory 10 feeding an adder 12 which feeds a main data highway 13 which in turn feeds back to the main memory 10. The data highway 13 feeds two accumulator registers Al and 01 which feed the adder 12, and also feeds an instruction counter IC and an instruction register IR. The instruction counter lC feeds the address selection circuitry 11, and the instruction register 1R feeds a microprogram control unit 14. A register Bl fed from an external source (not shown) feeds the adder l2, and permits data to be entered into the computer. The computer operates in the usual way, instructions being read out of the main memory 10 in sequence under the control of the instruction counter lC, each instruction causing the microprogram control unit 14 to follow the appropriate microprogram, reading and writing information in the main memory and processing it via the accumulator registers A1 and Q1 and the adder 12.

The computer is thus a standard computer of conventional form and will normally be programmed to perform various computations in addition to those required for its role as part of the display system. For ex ample, in a typical application the display system is used in an aircraft to present information to the aircraft pilot, and the computer is programmed to perform various roles relating to flight control and navigation of the aircraft. One computer which has been used in practice in such an arrangement is the MCS 9208 computer manufactured by Elliott Brothers (London) Limited.

In addition to the computer the display system includes additional circuitry comprising three registers X1, Y1, and T1 (all constructed as counters), two digital-to-analog converters l6 and 17, and a CRT 18. These three registers are fed from the data highway 13, so that data can be entered into them, and registers X1 and Y1 respectively feed the digital-to-analog converters l6 and 17 whose outputs are respectively applied to the X and Y direction electron beam deflection means of the CRT. A brightness control circuit 19 is also provided which controls the CRT electron beam intensity so as to produce at appropriate times a spot of light on the CRT screen at a position determined by the contents of the registers X1 and Y1.

The accumulator registers Q1 and A] are coupled to the registers X1 and Y1 respectively in a manner which will be explained below, and register T1 is coupled to the microprogram control unit 14 in a manner also ex plained below.

The system can best be understood by describing its operation, which is initiated by an appropriate instruction word, calling for line drawing. Prior to this instruction word being reached, the program in the computer will have put the parameters of the line to be drawn (starting point, slope, and length) into five predetermined locations in the main memory 10.

When the instruction word calling for line drawing is reached, it is written into the instruction register IR, and causes the microprogram control unit 14 to carry out the microprogram shown in flow diagram form in FIG. 2. The first four steps in the microprogram clear registers Al and Q1 and fill the registers X1, Y1, and T1 with the contents of three (here called X0, Y0, and T) of the five predetermined locations in the main memory; unit 14 has the addresses of these five locations wired in. This fills the registers X1 and Y1 with the X and Y co-ordinates of the start of the line to be drawn, and register T1 with a number representing the length of the line. The next microprogram step is a test: register Tl is inspected to see if its contents are zero. Assuming that its contents are not zero, the next step 6 is a waiting step; the computer waits until the display system, i.e., the CRT and its associated circuitry, has displayed the point defined by the contents of registers X1 and Y].

The next two steps are concerned with generating the next point to be displayed. In step 7, the contents of the fourth of the predetennined main memory locations, here termed DXO, is read out and added into register 01. The contents of DXO are the X increment dx, and registers 01 and X1 together form the (notional) X register, X1 being the high-order end. Any overflow produced in this addition in register 01 is fed to register X] to increment its contents by 1. In step 8, the same is done for the Y co-ordinate. The last of the five predetermined main memory locations, DYO, contains the increment dy, and this is read out and added to the contents of register Al, which together with register Yl forms the Y register. Any overflow from register A1 is fed to register Y1 to increment its contents by l. The

next microprogram step, step 9, decrements the contents of register Tl by 1, since one more point of the line has now been drawn.

Step 9 is followed by a loop back of the microprogram to step 5, the test step. If the contents of register T1 are still not zero, there is at least one more point of the line still to be drawn, and the loop through steps 6 to 9 is repeated. if the contents of register Tl are zero, then the last point of the line has been drawn, and the microprogram control unit 14 ends the linedrawing microprogram. This end is accomplished by calling for the next instruction to be read from the main memory 10, eg proceeding to a further computational program, not concerned with the display system.

Although the system has been described with reference to drawing straight lines, it is clearly capable of being modified to draw other cursive symbols. For this, the microprogram will require modification between steps 5 and 7 to store the contents of registers Al and Q] in two more predetermined main memory locations, calculate new values of increments dx and dy (either under microprogram control or by returning control to a main program sub-routine), and restore the contents of registers Al and Q1. 1 claim:

1. A display system of the CRT type using a DDA technique for defining lines to be displayed, said system comprising A. a CRT,

B. first and second counter registers,

C. means for displaying on the CRT an image at a position defined by the contents of said counter registers, and

D. means for incrementing the contents of the first and second counter registers respectively so that the contents of the counter registers define the X and Y coordinates respectively of a succession of points spaced along the length of a line to be displayed, said means for incrementing the contents of said first and second registers being constituted by a digital computer including:

i. a main memory including predetermined locations in which are stored increments dx and dy defining the distances between adjacent points on the line to be displayed;

ii. a processor including at least two accumulator registers;

iii. a microprogram control unit which cooperates with the processor and the main memory in the performance of computations by the computer and which in response to a predetermined instruction from the main memory, enters the said dx and dy increments into a first and second said accumulator register respectively at regular intervals', and

iv. means for feeding any resulting overflows from said first and second accumulator registers to said first and second counter registers respectively.

2. A display system according to claim 1 wherein the computer main memory includes further predetermined locations in which are stored the X and Y coordinates of the starting point of the line to be displayed, and the microprogram control unit is arranged to enter the X and Y co-ordinates of the starting point in said first and second counter registers respectively at the start of a line drawing operation.

3. A display system according to claim 2 including a line length register and wherein the computer main memory includes a further predetermined location in which is stored a number defining the number of points at the start of a line drawing operation and decrease the content of the line length register appropriately as the line is drawn, and terminate the line drawing operation in the line to be dismayed and the micmpmgram is an 5 when the contents of the line length register is zero.

ranged to enter said number in said line length register 

1. A display system of the CRT type using a DDA technique for defining lines to be displayed, said system comprising A. a CRT, B. first and second counter registers, C. means for displaying on the CRT an image at a position defined by the contents of said counter registers, and D. means for incrementing the contents of the first and second counter registers respectively so that the contents of the counter registers define the X and Y coordinates respectively of a succession of points spaced along the length of a line to be displayed, said means for incrementing the contents of said first and second registers being constituted by a digital computer including: i. a main memory including predetermined locations in which are stored increments dx and dy defining the distances between adjacent points on the line to be displayed; ii. a processor including at least two accumulator registers; iii. a microprogram control unit which cooperates with the processor and the main memory in the performance of computations by the computer and which in response to a predetermined instruction from the main memory, enters the said dx and dy increments into a first and second said accumulator register respectively at regular intervals; and iv. means for feeding any resulting overflows from said first and second accumulator registers to said first and second counter registers respectively.
 2. A display system according to claim 1 wherein the computer main memory includes further predetermined locations in which are stored the X and Y co-ordinates of the starting point of the line to be displayed, and the microprogram control unit is arranged to enter the X and Y co-ordinates of the starting point in said first and second counter registers respectively at the start of a line drawing operation.
 3. A display system according to claim 2 including a line length register and wherein the computer main memory includes a further predetermined location in which is stored a number defining the number of points in the line to be displayed, and the microprogram is arranged to enter said number in said line length register at the start of a line drawing operation and decrease the content of the line length register appropriately as the line is drawn, and terminate the line drawing operation when the contents of the line length register is zero. 